C++中，结构体、类和联合体统称为类类型。如果没有附加的限定条件，纯文本类型中的单词“class”包含通过关键字class或关键字struct引入的类类型。

\begin{tcolorbox}[colback=webgreen!5!white,colframe=webgreen!75!black]
\hspace*{0.75cm}C++中，class和struct之间的唯一区别是，class的默认访问权限是private，而struct的默认访问权限是public。然而，对于使用新的C++特性的类型，我们更倾向使用class，而对于普通的C数据结构，使用struct，这些数据结构可以用作“普通数据”(POD)。
\end{tcolorbox}

注意，“类类型”包括联合，但“类”不包括。

对于模板类的调用方式有一些混乱:

\begin{itemize}
\item 
术语“类模板”表示类是一个模板。也就是说，它是一族类的参数化描述。

\item 
另一方面，已经使用了术语模板类
\begin{itemize}
\item[-]
类模板的同义词。

\item[-]
引用从模板生成的类。

\item[-]
使用模板id(模板名称后跟在<和>之间指定的模板参数的组合)来引用类。
\end{itemize}

第二和第三个之间的区别有些微妙，不过这并不重要。
\end{itemize}

由于这种确定性，所以在本书中会避免使用模板类这个术语。

类似地，使用函数模板、成员模板、成员函数模板和变量模板，但不使用模板函数、模板成员、模板成员函数和模板变量。

















